::WS::Utils::ServiceTypeDef Client FreshBookApi CategoryDefinition {
    name    {type string minOccurs 1 maxOccurs 1}
}

::WS::Utils::ServiceTypeDef Client FreshBookApi CategoryUpdate {
    category_id {type string minOccurs 1 maxOccurs 1}
    name    {type string minOccurs 0 maxOccurs 1}
}

::WS::Utils::ServiceTypeDef Client FreshBookApi CategoryDetailArray {
    category    {type CategoryUpdate()}
}


::WS::Client::DefineRestMethod FreshBookApi category category.create {
    category    {type CategoryDefinition}
} {
    category_id {type string}
}

::WS::Client::DefineRestMethod FreshBookApi category category.update {
    category    {type CategoryUpdate}
} {}

::WS::Client::DefineRestMethod FreshBookApi category category.get {
    category_id {type string}
} {
    category    {type CategoryDefinition}
}

::WS::Client::DefineRestMethod FreshBookApi category category.delete {
    category_id {type string}
} {}

::WS::Client::DefineRestMethod FreshBookApi category category.list {
    page        {type integer minOccurs 0 maxOccurs 1}
    per_page    {type integer minOccurs 0 maxOccurs 1}
} {
    categories    {type CategoryDetailArray}
}
